const path = require('path')
const koa = require('koa')

const serve = require('koa-static') // 静态服务中间件

// 专门处理history模式的中间件
const { historyApiFallback } = require('koa2-connect-history-api-fallback')

// 跨域代理中间件
const proxy = require('koa2-proxy-middleware')

const app = new koa()

// 反向代理配置
app.use(proxy({
  targets: {
    // (.*) means anything
    '/api/(.*)': {
        target: 'http://ihrm-java.itheima.net', //后端服务器地址
        changeOrigin: true,
        // 配置代理, 会多一个 /api 路径, 如果希望保留, 就不重写
        // 如果不希望保留, 就重写掉
        // pathRewrite: { 	
        //   '/api': ""
        // }
    }
  }
}))

// 除接口之外所有的请求都发送给了index.html(都返回index.html)
app.use(historyApiFallback({ 
  whiteList: ['/api']
}))

app.use(serve(path.join(__dirname, 'public'))) //将public下的代码静态化

app.listen(8888, () => {
  console.log('项目启动成功: http://localhost:8888')
})